/*
 * DMouseEvent.cpp
 *
 *  Created on: 2010-9-5
 *      Author: try
 */

#include "MouseEvent.h"
#include "eventtypes.h"

namespace Ed {
  EventType MouseEvent::MinType = MOUSE_EVENT_MIN_TYPE;
  EventType MouseEvent::MaxType = MOUSE_EVENT_MAX_TYPE;
  EventType MouseEvent::MoveType = MOUSE_MOVE_EVENT_TYPE;
  EventType MouseEvent::LeaveType = MOUSE_LEAVE_EVENT_TYPE;
  EventType MouseEvent::EnterType = MOUSE_ENTER_EVENT_TYPE;
  EventType MouseEvent::PressType = MOUSE_PRESS_EVENT_TYPE;
  EventType MouseEvent::ReleaseType = MOUSE_RELEASE_EVENT_TYPE;
  EventType MouseEvent::DoubleClickType = MOUSE_DOUBLE_CLICK_EVENT_TYPE;

//  MouseEvent::MouseEvent(EventType type, int x, int y, MouseButton button, void* source):
//    Event(type, source), _x(x), _y(y), _lx(0), _ly(0), _px(0), _py(0), buttons(button), pageEvent(NULL), layerEvent(NULL)
//  {
//  }
//
//  MouseEvent::MouseEvent(EventType type, int x, int y, unsigned int buttons, void* source):
//    Event(type, source), _x(x), _y(y), _lx(0), _ly(0), _px(0), _py(0), buttons(buttons), pageEvent(NULL), layerEvent(NULL)
//  {
//  }
//
//  MouseEvent::MouseEvent(EventType type, void* source):
//    Event(type, source), _x(0), _y(0), _lx(0), _ly(0), _px(0), _py(0), buttons(MButton_No), pageEvent(NULL), layerEvent(NULL)
//  {
//  }
//
//  MouseEvent::MouseEvent(EventType type, int x, int y, MouseButton button, int key, void* source):
//    Event(type, source), _x(x), _y(y), _lx(0), _ly(0), _px(0), _py(0), buttons(button), keySequence(key), pageEvent(NULL), layerEvent(NULL)
//  {
//  }
//
//  MouseEvent::MouseEvent(EventType type, int x, int y, unsigned int buttons, int key, void* source):
//    Event(type, source), _x(x), _y(y), _lx(0), _ly(0), _px(0), _py(0), buttons(buttons), keySequence(key), pageEvent(NULL), layerEvent(NULL)
//  {
//  }
//
//  MouseEvent::MouseEvent(EventType type, int key, void* source):
//    Event(type, source), _x(0), _y(0), _lx(0), _ly(0), _px(0), _py(0), buttons(MButton_No), keySequence(key), pageEvent(NULL), layerEvent(NULL)
//  {
//  }
//
//  MouseEvent::MouseEvent(EventType type, int x, int y, MouseButton button, const KeySequence& ks, void* source):
//    Event(type, source), _x(x), _y(y), _lx(0), _ly(0), _px(0), _py(0), buttons(button), keySequence(ks), pageEvent(NULL), layerEvent(NULL)
//  {
//  }
//
//  MouseEvent::MouseEvent(EventType type, int x, int y, unsigned int buttons, const KeySequence& ks, void* source):
//    Event(type, source), _x(x), _y(y), _lx(0), _ly(0), _px(0), _py(0), buttons(buttons), keySequence(ks), pageEvent(NULL), layerEvent(NULL)
//  {
//  }
//
//  MouseEvent::MouseEvent(EventType type, const KeySequence& ks, void* source):
//    Event(type, source), _x(0), _y(0), _lx(0), _ly(0), _px(0), _py(0), buttons(MButton_No), keySequence(ks), pageEvent(NULL), layerEvent(NULL)
//  {
//  }
//
//  MouseEvent::MouseEvent(const MouseEvent& me):
//    Event(me.getType(), me.getSource()), _x(me.x()), _y(me.y()), _lx(me.layerX()), _ly(me.layerY()), _px(me.pageX()), _py(me.pageY()), buttons(me.getButtons()), keySequence(me.getKeySequence()), pageEvent(NULL), layerEvent(NULL)
//  {
//
//  }

  MouseEvent::MouseEvent(EventType type, int x, int y, MouseButton button, void* source):
    Event(type, source), _x(x), _y(y), buttons(button), pageEvent(NULL), layerEvent(NULL)
  {
  }

  MouseEvent::MouseEvent(EventType type, int x, int y, unsigned int buttons, void* source):
    Event(type, source), _x(x), _y(y), buttons(buttons), pageEvent(NULL), layerEvent(NULL)
  {
  }

  MouseEvent::MouseEvent(EventType type, void* source):
    Event(type, source), _x(0), _y(0), buttons(MButton_No), pageEvent(NULL), layerEvent(NULL)
  {
  }

  MouseEvent::MouseEvent(EventType type, int x, int y, MouseButton button, int key, void* source):
    Event(type, source), _x(x), _y(y), buttons(button), keySequence(key), pageEvent(NULL), layerEvent(NULL)
  {
  }

  MouseEvent::MouseEvent(EventType type, int x, int y, unsigned int buttons, int key, void* source):
    Event(type, source), _x(x), _y(y), buttons(buttons), keySequence(key), pageEvent(NULL), layerEvent(NULL)
  {
  }

  MouseEvent::MouseEvent(EventType type, int key, void* source):
    Event(type, source), _x(0), _y(0), buttons(MButton_No), keySequence(key), pageEvent(NULL), layerEvent(NULL)
  {
  }

  MouseEvent::MouseEvent(EventType type, int x, int y, MouseButton button, const KeySequence& ks, void* source):
    Event(type, source), _x(x), _y(y), buttons(button), keySequence(ks), pageEvent(NULL), layerEvent(NULL)
  {
  }

  MouseEvent::MouseEvent(EventType type, int x, int y, unsigned int buttons, const KeySequence& ks, void* source):
    Event(type, source), _x(x), _y(y), buttons(buttons), keySequence(ks), pageEvent(NULL), layerEvent(NULL)
  {
  }

  MouseEvent::MouseEvent(EventType type, const KeySequence& ks, void* source):
    Event(type, source), _x(0), _y(0), buttons(MButton_No), keySequence(ks), pageEvent(NULL), layerEvent(NULL)
  {
  }

  MouseEvent::MouseEvent(const MouseEvent& me):
    Event(me.getType(), me.getSource()), _x(me.x()), _y(me.y()), buttons(me.getButtons()), keySequence(me.getKeySequence()), pageEvent(me.getPageEvent()), layerEvent(me.getLayerEvent())
  {

  }

  MouseEvent::MouseEvent(const MouseEvent* me):
    Event(me->getType(), me->getSource()), _x(me->x()), _y(me->y()), buttons(me->getButtons()), keySequence(me->getKeySequence()), pageEvent(me->getPageEvent()), layerEvent(me->getLayerEvent())
  {
  }
  MouseEvent::~MouseEvent() {

  }

}
